A graphical user interface typically allows a user to interact with a software program. Such interfaces generally include fields in which the user may enter data and fields in which data may be presented. In some instances fields may perform both tasks. For example, a field may include default data that the user may then edit. Such fields may include user interface elements, such as, text fields, combination (combo) boxes, buttons (radio, check, or generic buttons, etc.) and non-editable labels, etc.
Many software applications allow a user to customize the user interface in a limited way. Some software applications allow an end user to customize the user interface. For example, the end user may be able to change the color scheme, the font size, button placement, etc. of a user interface. In another example, an administrator may be responsible for customizing the user interface. The administrator may wish to control or dictate to an end user how a user interface will look and operate.
For example, a generic business application may be sold to a business. The business application may be tailored to a specific industry, but not to a specific business. The business may want to customize the user interface of the application to reflect their unique business needs and brands. In one illustrative example, the business may wish to have the application display their colors and logo. In a specific example, a coffee seller may wish to customize the user interface to display their unique terms for products (e.g. tall, grande, venti) as opposed to more generic terms (e.g. small, medium, large) supplied by the generic business application. Furthermore, the business's administrator may wish to remove user interface elements that are not pertinent to the way the business operates, or add user interface elements. This process may be very tedious and time consuming (and therefore costly) as typically each user interface screen or view must be customized individually.